#pragma once
#include "GameObject.h"
#include "BlockHeader.h"
#include <list>
using std::list;

class Block;
class Field;
class MapLoader;

typedef list<Block*> WAYBLOCK_LIST;
class Shooter : public GameObject
{
private:
	Vector3l _sellsInPos;
	Vector3l _way;
	Vector3f _revisionPos;

	WAYBLOCK_LIST _wayBlockList;
	Block* createBlockType(WAY w);
public:
	Shooter(void);
	~Shooter(void);
	void update();
	void draw();
	void move(int x, int y);
	void setRevisionPos(Vector3f rp);
	Block* getShootBlock();
	Vector3l getShootBlockPos();
	Vector3l getWay(){return _way;}
	void modifyPosition();
	void loadShooter(int a);
	void loadShooter(MapLoader* ml);
	bool checkFailed();
	//Vector3 getPos();
};

